package com.ruoyi.reim.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 报销基本信息对象 workflow_reim
 *
 * @author ruoyi
 * @date 2021-07-16
 */
public class WorkflowReim extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报销基本信息id */
    private String id;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String billCode;

    /** 单据类型 */
    @Excel(name = "单据类型")
    private String billType;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billDate;

    /** 申请人 */
    @Excel(name = "申请人")
    private String employee;

    /**
     * 申请人姓名
     */
    private String employeeName;

    /** 账套 */
    @Excel(name = "账套")
    private String billBook;

    /** 部门 */
    @Excel(name = "部门")
    private String employeeDeptId;

    /**
     * 申请人部门名称
     */
    private String employeeDeptName;

    /**
     * 单据类型名称
     */
    private String billTypeName;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal billAmount;

    /** 事由 */
    @Excel(name = "事由")
    private String billReason;

    /** 实例Id */
    @Excel(name = "实例Id")
    private String instanceId;

    /** 状态 */
    @Excel(name = "状态")
    private String state;

    private String title;

    /**
     * 流程KEY
     */
    private String processKey;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setBillCode(String billCode)
    {
        this.billCode = billCode;
    }

    public String getBillCode()
    {
        return billCode;
    }
    public void setBillType(String billType)
    {
        this.billType = billType;
    }

    public String getBillType()
    {
        return billType;
    }
    public void setBillDate(Date billDate)
    {
        this.billDate = billDate;
    }

    public Date getBillDate()
    {
        return billDate;
    }
    public void setEmployee(String employee)
    {
        this.employee = employee;
    }

    public String getEmployee()
    {
        return employee;
    }
    public void setBillBook(String billBook)
    {
        this.billBook = billBook;
    }

    public String getBillBook()
    {
        return billBook;
    }
    public void setEmployeeDeptId(String employeeDeptId)
    {
        this.employeeDeptId = employeeDeptId;
    }

    public String getEmployeeDeptId()
    {
        return employeeDeptId;
    }
    public void setBillAmount(BigDecimal billAmount)
    {
        this.billAmount = billAmount;
    }

    public BigDecimal getBillAmount()
    {
        return billAmount;
    }
    public void setBillReason(String billReason)
    {
        this.billReason = billReason;
    }

    public String getBillReason()
    {
        return billReason;
    }
    public void setInstanceId(String instanceId)
    {
        this.instanceId = instanceId;
    }

    public String getInstanceId()
    {
        return instanceId;
    }
    public void setState(String state)
    {
        this.state = state;
    }

    public String getState()
    {
        return state;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getEmployeeName() {
        return employeeName;
    }

    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    public String getEmployeeDeptName() {
        return employeeDeptName;
    }

    public void setEmployeeDeptName(String employeeDeptName) {
        this.employeeDeptName = employeeDeptName;
    }

    public String getBillTypeName() {
        return billTypeName;
    }

    public void setBillTypeName(String billTypeName) {
        this.billTypeName = billTypeName;
    }

    public String getProcessKey() {
        return processKey;
    }

    public void setProcessKey(String processKey) {
        this.processKey = processKey;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("billCode", getBillCode())
            .append("billType", getBillType())
            .append("billDate", getBillDate())
            .append("employee", getEmployee())
            .append("billBook", getBillBook())
            .append("employeeDeptId", getEmployeeDeptId())
            .append("billAmount", getBillAmount())
            .append("billReason", getBillReason())
            .append("instanceId", getInstanceId())
            .append("state", getState())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
